#! /bin/bash
set -e

make && $(pwd)/bin/main 0 1024 20 &
sleep 2

TASK_PERIOD=10          # 抓取Trace的持续时间, 单位为秒
TASK_DEVIDE=0           # 抓取的NPU序号, 默认只需要抓NPU 0
TASK_PNAME=main         # 抓取的进程名, 默认与二进制可执行文件保持一致

rm -rf $(pwd)/output && mkdir -p $(pwd)/output
PID=$(echo "$(npu-smi info | grep ${TASK_PNAME})" | awk '{print $5}')
echo msprof for pid: "${PID}"

msprof --output=$(pwd)/output               \
    --host-sys=cpu,mem,network              \
    --sys-interconnection-profiling=on      \
    --sys-devices=${TASK_DEVIDE}            \
    --sys-period=${TASK_PERIOD}             \
    --sys-cpu-profiling=on                  \
    --sys-io-profiling=on                   \
    --sys-hardware-mem=on                   \
    --sys-profiling=on                      \
    --host-sys-pid=${PID}

msprof --output=$(pwd)/output --parse=on
rm -rf $(pwd)/mindstudio_profiler_log
